iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
AI & Data

30天深度學習-從零到英雄系列 第 13

損失了什麼?損失函數(Loss Function)

  • 分享至 

  • xImage
  •  

當神經網路訓練完成後我們想要知道到底成不成功,輸出的「準確率」可以告訴我們,但有沒有方法可以變得客觀呢?這時候我們就會使用到「損失函數(Loss Function)」,損失函數是在機器學習和深度學習中的一個重要概念,用來衡量模型預測和實際目標之間的差異或誤差。損失函數通常用於訓練機器學習模型,以幫助模型調整權重和參數,以使損失函數的值最小化。

下面介紹兩個常用的損失函數:

均方誤差損失函數(Mean Squared Error,MSE):

MSE 的計算方式如下:

  1. 對於每個訓練樣本,計算模型的預測值(通常表示為 y_pred)和實際目標值(通常表示為 y_true)之間的差異。
  2. 將這個差異平方,這樣可以確保正誤差和負誤差不會相互抵消。
  3. 對所有樣本的平方誤差取平均值,這就是 MSE 的值。

數學公式表示如下:
MSE = (1/n) * Σ(y_pred - y_true)^2

  • MSE 是均方誤差的值。
  • n 是訓練樣本的總數。
  • Σ 表示對所有訓練樣本求和。
  • y_pred 表示模型的預測值。
  • y_true 表示實際目標值。

MSE 的值越小越好,當 MSE 趨近於零時,表示模型的預測值非常接近實際目標值。MSE的想法非常簡單,且容易計算,不過它也存在著缺點,MSE 對極端值很敏感,因為它將差異平方,這可能導致極端值對損失的影響很大。


交叉熵損失(Cross-Entropy Loss也稱為對數損失(Log Loss)):

交叉熵損失的計算方式如下:

  1. 對於每個訓練樣本i,有一個真實的標籤向量y_true,其中只有一個元素是1,表示樣本的真實類別,其他元素都是0。
  2. 模型的預測輸出是一個概率分佈向量y_pred,其中包含了每個類別的預測概率。
  3. 交叉熵損失的計算如下:
    https://ithelp.ithome.com.tw/upload/images/20230925/2016190983NlMrfBHG.png
    圖片來源:https://www.cnblogs.com/cxhzy/p/13433146.html 搜尋日期:2023/9/25

交叉熵損失的值越小越好,它衡量了模型預測的概率分佈和實際標籤之間的相似度。當模型的預測概率分佈接近真實標籤時,交叉熵損失趨近於0,表示模型性能較好。


上一篇
回顧深度學習模型
下一篇
梯度下降法(Gradient Descent)
系列文
30天深度學習-從零到英雄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言